Skip to main content

任务报告推送

注册回调即可实时接收任务报告,新增集团客户推送支持。

  • 兼容性:2025‑05‑15(含)之后新建或重新保存的订阅将采用本文描述的 新顶级字段格式。
  • 已生效的旧订阅保持两级结构(appId + payload),功能不受影响。
  • 新顶级字段(与 appId、payload 同级)。

接入流程​

第一步:配置回调地址​

  1. 登录开发者中心,进入 企业回调地址。本页对应页面上的「任务报告回调地址」区块,与事件回调地址相互独立。
  2. 指定 推送账号:该账号必须是本客户的开发者,也是唯一能修改本页的人。推送范围由它决定——只有直接绑定到该推送账号的机器人,其任务报告才会推送;仅归属本客户但未直接绑定给该账号的机器人不会推送。事件与任务共用同一个推送账号。
  3. 点击区块内的 修改,填写回调 url,打开推送开关后点击 保存。
  4. 保存后平台签发该订阅的 AppId 与 Secret。Secret 只在重置后可再次查看,请当场保存。

开发者中心「企业回调地址」页面:任务报告回调地址与事件回调地址各自独立配置,含 AppId、Secret、回调地址与推送开关

第二步:实现验签​

推送会携带 X-Gausium-App-Id、X-Gausium-Timestamp、X-Gausium-Nonce、X-Gausium-Signature 四个请求头,验签算法与中英文示例见回调验签。

第三步:联调​

点击区块内的 测试,平台会向填写的地址 POST 一次探测包。返回 2xx 且验签通过,说明链路已通。

第四步:接收并处理推送​

链路打通后即可按下方字段表解析任务报告。几个高频问题建议先读:

推送只是实时增量

推送覆盖新生成的任务报告。历史报告请用分页查询任务报告,报告地图图片请用查询任务报告地图图片。

回调注册要求​

  1. 语言:符合 IETF BCP 47(如 en-US、zh-CN)。

  2. 回调:

    • url 例如 https://{{host}}/callback,HTTP 方法 POST。
    • appId 例如 24416c36-d9c7-4d74-a047-d6ca461fxxxx(用于鉴权。由高仙签发后提供)。

示例 curl​

curl --location 'https://{{host}}/callback' \
--header 'accept: */*' \
--header 'Content-Type: application/json' \
--data '{
"appId": "24416c36-aaaa-4d74-aaaa-d6ca461faaaa",
"payload": {
"serialNumber": "TEST00-0000-000-XXXX",
"modelTypeCode": "Scrubber S1",
"taskReport": {
"id": "684c183c-4ad9-467b-ac7c-55835255AAAA",
"taskId": "233123123-d9c7-4d74-a047-d6ca461faaaa",
"planId": "233123123-d9c7-4d74-a047-d6ca461faaaa",
"taskInstanceId": "893cbadf-3bb1-45be-b7ef-d590d54fAAAA",
"displayName": "ceshi2",
"startTime": 1714124784000,
"endTime": 1714124890000,
"robot": "S2153",
"robotSerialNumber": "TEST00-0000-000-XXXX",
"operator": "admin",
"completionPercentage": 0.156,
"durationSeconds": 106,
"plannedCleaningAreaSquareMeter": 67.425,
"actualCleaningAreaSquareMeter": 10.548,
"efficiencySquareMeterPerHour": 407.965,
"plannedPolishingAreaSquareMeter": null,
"actualPolishingAreaSquareMeter": null,
"waterConsumptionLiter": 0.0,
"startBatteryPercentage": 38.0,
"endBatteryPercentage": 38.0,
"consumablesResidualPercentage": {
"brush": 100.0,
"filter": 100.0,
"suctionBlade": 100.0
},
"cleaningMode": "清扫",
"taskEndStatus": 1,
"subTasks": [
{
"mapId": "370192bd-fe7f-40d0-8d0a-4360415bb8cf",
"mapName": "ceshi2",
"actualCleaningAreaSquareMeter": 10.548,
"taskId": "233123123-d9c7-4d74-a047-d6ca461faaaa"
}
],
"taskReportPngUri": "https://bot.release.gs-robot.com/robot-task/task/report/png/v2/en/684c183c-4ad9-467b-ac7c-55835255aaaa",
"areaNameList": "2_area1、area2、area3、area4,3_area1、area2、area3"
}
}
}'

顶级字段说明​

字段类型描述
appIdString用于鉴权,保持不变
payloadObject业务数据,结构与旧版保持一致

参数描述​

字段名称类型描述示例
payload.serialNumberString机器人序列号TEST00-0000-000-XXXX
payload.modelTypeCodeString机器人型号代码Scrubber 50H
payload.taskReportObject任务报告—
payload.taskReport.idString任务报告 ID684c183c-4ad9-467b-ac7c-55835255AAAA
payload.taskReport.taskIdString静态任务 ID233123123-d9c7-4d74-a047-d6ca461faaaa
payload.taskReport.planIdString调度计划 ID233123123-d9c7-4d74-a047-d6ca461faaaa
payload.taskReport.taskInstanceIdString任务实例 ID893cbadf-3bb1-45be-b7ef-d590d54fAAAA
payload.taskReport.displayNameString任务可读名称10楼清洁任务
payload.taskReport.startTimeLong任务开始时间戳(毫秒)1714290913000
payload.taskReport.endTimeLong任务结束时间戳(毫秒)1714290952000
payload.taskReport.robotString机器人可读名称S2153
payload.taskReport.robotSerialNumberString机器人序列号GS000-XXXX-XXX-XXXX
payload.taskReport.operatorString任务操作员Mike
payload.taskReport.completionPercentageDouble完成百分比(0‑1)0.55
payload.taskReport.durationSecondsInteger持续时间(秒)300
payload.taskReport.plannedCleaningAreaSquareMeterDouble计划清洁面积(㎡)200.5
payload.taskReport.actualCleaningAreaSquareMeterDouble实际清洁面积(㎡)100.2
payload.taskReport.efficiencySquareMeterPerHourDouble清洁效率(㎡/h)300.7
payload.taskReport.plannedPolishingAreaSquareMeterDouble计划抛光面积(㎡)200.5
payload.taskReport.actualPolishingAreaSquareMeterDouble实际抛光面积(㎡)200.5
payload.taskReport.waterConsumptionLiterDouble水耗(L)5.0
payload.taskReport.startBatteryPercentageDouble起始电量(%)70.0
payload.taskReport.endBatteryPercentageDouble结束电量(%)40.0
payload.taskReport.consumablesResidualPercentageObject消耗品剩余百分比—
payload.taskReport.consumablesResidualPercentage.brushDouble刷子寿命(%)50.0
payload.taskReport.consumablesResidualPercentage.filterDouble过滤器寿命(%)50.0
payload.taskReport.consumablesResidualPercentage.suctionBladeDouble吸尘刮刀寿命(%)50.0
payload.taskReport.cleaningModeString清洁模式扫地
payload.taskReport.taskEndStatusInteger结束状态:-1未知,0正常,1手动,2异常,3启动失败0
payload.taskReport.subTasksArray子任务列表—
payload.taskReport.subTasks[0].mapIdString地图 ID370192bd-fe7f-40d0-8d0a-4360415baaaa
payload.taskReport.subTasks[0].mapNameString地图名称测试地图
payload.taskReport.subTasks[0].actualCleaningAreaSquareMeterDouble实际清洁面积(㎡)10.0
payload.taskReport.subTasks[0].taskIdString子任务 ID233123123-d9c7-4d74-a047-d6ca461faaaa
payload.taskReport.taskReportPngUriString任务报告 PNG URIhttps://bot.gs-robot.com/robot-task/task/report/png/v2/en/47e3628b-a2b9-4124-bbbc-45e0d4bfaaaa
payload.taskReport.areaNameListString分区名称列表(floor_area1_area2...)2_area1、area2、area3